Many electronics equipment manufacturers develop and sell embedded electronic devices to a number of equipment providers, each of which may desire to customize the devices according to their own requirements before offering the devices to their own customers. In just one example, a television set-top box manufacturer may develop a set-top box for a number of satellite or cable television service providers. In turn, each of the service providers may then deliver one or more of the set-top boxes to each of their subscribers to allow the subscribers to receive the television programming the service provider supplies. Since some of the service providers may be mutual competitors, each provider likely desires to customize the set-top boxes it provides to distinguish its offerings from those of its competitors.
One prominent area in which a television service provider may customize its set-top boxes is the user interface, which may be the most recognizable characteristic discernable by a subscriber. With respect to a set-top box, the user interface may encompass the various menus and related information presented to a subscriber via a television display, the set of commands available to the subscriber to control the operation of the set-top box (typically by way of a remote control device), and the overall “look-and-feel” of how the user interacts with the set-top box.
In many cases, the set-top box manufacturer maintains complete control over the firmware and software resident in the various set-top boxes it develops. One reason for this control is that the application programming interface (API) between the user interface software and the remainder of the software employed in the set-top box is often complex in nature, and may undergo changes over time as the set-top box design matures. As a result, the manufacturer often develops the initial form of the user interface, and incorporates any subsequent changes thereto, based on requirements provided by the service provider. Thus, the service provider possesses at most indirect control of the user interface, while the manufacturer shoulders the burden of updating the user interface for each separate service provider purchasing the set-top box, as well as for each type or model of set-top box produced.